package one.stand.model;

import io.swagger.annotations.ApiParam;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

@Data
public class CompanyCouponModel extends BaseModel {
    /**
     * 优惠券id
     */
    private Long couponId;
    /**
     * 归属公司
     */
    private Long companyId;
    /**
     * 优惠券名称
     */
    private String name;
    /**
     * 优惠类型1满减，2折扣
     */
    private Integer couponType;
    /**
     * 优惠券面值
     */
    private BigDecimal couponFaceValue;
    /**
     * 优惠券折扣
     */
    private BigDecimal couponDiscount;
    /**
     * 最低消费金额
     */
    private BigDecimal minAmount;
    /**
     * 发放开始时间
     */
    private Date grantStartTime;
    /**
     * 发放截止时间
     */
    private Date grantEndTime;
    /**
     * 有效开始时间
     */
    private Date effectiveStartTime;
    /**
     * 有效截止时间
     */
    private Date effectiveEndTime;
    /**
     * 发放类型/方式，1：自动发放，2手动领取，3红包发放
     */
    private Integer grantMode;
    /**
     * 投放对象1:所有对象
     */
    private Integer grantObject;
    /**
     * 优惠卷发放数量 0 表示不限制
     */
    private Integer couponNum;
    /**
     * 领取数量
     */
    private Integer receiveNum;
    /**
     * 同一用户最多发放多少
     */
    private Integer maxUser;
    /**
     * 发布状态 1禁用 2启用
     */
    private Integer pubState;
    /**
     * 优惠券备注
     */
    private String note;

    private Date createTime;
    /**
     * 是否删除 0整除 1删除
     */
    private Integer deleted;

    /**
     * 使用范围 商品分类
     */
    private Integer goodstypeId;

    /**
     * 类型名
     */
    private String goodsTypeName;
    /**
     * 企业名
     */
    private String companyName;

    /**
     * 是否已经领取 true 领取 false未领取
     */
    private boolean used;

    /**
     * 用户优惠券id 用于订单下单
     */
    private Integer userCouponId;

}
